package org.jssvc.opac.bean;

import java.util.List;

public class BookSearchParam {

    /**
     * searchWords : [{"fieldList":[{"fieldCode":"","fieldValue":"测试","$$hashKey":"5QW"}]}]
     * filters : [{"fieldName":"subjectFacet","values":["高等学校","英语"]},{"fieldName":"locationFacet","values":["00217"]}]
     * limiter : [{"fieldName":"subjectFacet","values":["高等学校","英语"]}]
     * sortField : relevance
     * sortType : desc
     * pageSize : 20
     * pageCount : 1
     * locale :
     * first : true
     */

    private String sortField;
    private String sortType;
    private int pageSize;
    private int pageCount;
    private String locale;
    private boolean first;
    private List<SearchWordsBean> searchWords;
    private List<FiltersBean> filters;
    private List<LimiterBean> limiter;

    public String getSortField() {
        return sortField;
    }

    public void setSortField(String sortField) {
        this.sortField = sortField;
    }

    public String getSortType() {
        return sortType;
    }

    public void setSortType(String sortType) {
        this.sortType = sortType;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    public int getPageCount() {
        return pageCount;
    }

    public void setPageCount(int pageCount) {
        this.pageCount = pageCount;
    }

    public String getLocale() {
        return locale;
    }

    public void setLocale(String locale) {
        this.locale = locale;
    }

    public boolean isFirst() {
        return first;
    }

    public void setFirst(boolean first) {
        this.first = first;
    }

    public List<SearchWordsBean> getSearchWords() {
        return searchWords;
    }

    public void setSearchWords(List<SearchWordsBean> searchWords) {
        this.searchWords = searchWords;
    }

    public List<FiltersBean> getFilters() {
        return filters;
    }

    public void setFilters(List<FiltersBean> filters) {
        this.filters = filters;
    }

    public List<LimiterBean> getLimiter() {
        return limiter;
    }

    public void setLimiter(List<LimiterBean> limiter) {
        this.limiter = limiter;
    }

    public static class SearchWordsBean {
        private List<FieldListBean> fieldList;

        public List<FieldListBean> getFieldList() {
            return fieldList;
        }

        public void setFieldList(List<FieldListBean> fieldList) {
            this.fieldList = fieldList;
        }

        public static class FieldListBean {
            /**
             * fieldCode :
             * fieldValue : 测试
             * $$hashKey : 5QW
             */

            private String fieldCode;
            private String fieldValue;
            private String $$hashKey;

            public String getFieldCode() {
                return fieldCode;
            }

            public void setFieldCode(String fieldCode) {
                this.fieldCode = fieldCode;
            }

            public String getFieldValue() {
                return fieldValue;
            }

            public void setFieldValue(String fieldValue) {
                this.fieldValue = fieldValue;
            }

            public String get$$hashKey() {
                return $$hashKey;
            }

            public void set$$hashKey(String $$hashKey) {
                this.$$hashKey = $$hashKey;
            }
        }
    }

    public static class FiltersBean {
        /**
         * fieldName : subjectFacet
         * values : ["高等学校","英语"]
         */

        private String fieldName;
        private List<String> values;

        public String getFieldName() {
            return fieldName;
        }

        public void setFieldName(String fieldName) {
            this.fieldName = fieldName;
        }

        public List<String> getValues() {
            return values;
        }

        public void setValues(List<String> values) {
            this.values = values;
        }
    }

    public static class LimiterBean {
        /**
         * fieldName : subjectFacet
         * values : ["高等学校","英语"]
         */

        private String fieldName;
        private List<String> values;

        public String getFieldName() {
            return fieldName;
        }

        public void setFieldName(String fieldName) {
            this.fieldName = fieldName;
        }

        public List<String> getValues() {
            return values;
        }

        public void setValues(List<String> values) {
            this.values = values;
        }
    }
}
